cls.macro_df.index = index
cls.series = cls.macro_df.cpi
- def test_add_lag_insert(self):
- data = self.macro_data
- nddata = data.view((float, 4))
- lagmat = sm.tsa.lagmat(nddata[:, 2], 3, trim='Both')
- results = np.column_stack((nddata[3:, :3], lagmat, nddata[3:, -1]))
- lag_data = sm.tsa.add_lag(data, 'realgdp', 3)
- assert_equal(lag_data.view((float, len(lag_data.dtype.names))), results)
-
- def test_add_lag_noinsert(self):
- data = self.macro_data
- nddata = data.view((float, 4))
- lagmat = sm.tsa.lagmat(nddata[:, 2], 3, trim='Both')
- results = np.column_stack((nddata[3:, :], lagmat))
- lag_data = sm.tsa.add_lag(data, 'realgdp', 3, insert=False)
- assert_equal(lag_data.view((float, len(lag_data.dtype.names))), results)
-
- def test_add_lag_noinsert_atend(self):
- data = self.macro_data
- nddata = data.view((float, 4))
- lagmat = sm.tsa.lagmat(nddata[:, -1], 3, trim='Both')
- results = np.column_stack((nddata[3:, :], lagmat))
- lag_data = sm.tsa.add_lag(data, 'cpi', 3, insert=False)
- assert_equal(lag_data.view((float, len(lag_data.dtype.names))), results)
- # should be the same as insert
- lag_data2 = sm.tsa.add_lag(data, 'cpi', 3, insert=True)
- assert_equal(lag_data2.view((float, len(lag_data2.dtype.names))),
- results)
-
def test_add_lag_ndarray(self):
data = self.macro_data
nddata = data.view((float, 4))
lag_data = sm.tsa.add_lag(data, lags=3, drop=True)
assert_equal(lagmat, lag_data.view((float, 3)))
- def test_add_lag_drop_insert(self):
- data = self.macro_data
- nddata = data.view((float, 4))
- lagmat = sm.tsa.lagmat(nddata[:, 2], 3, trim='Both')
- results = np.column_stack((nddata[3:, :2], lagmat, nddata[3:, -1]))
- lag_data = sm.tsa.add_lag(data, 'realgdp', 3, drop=True)
- assert_equal(lag_data.view((float, len(lag_data.dtype.names))), results)
-
- def test_add_lag_drop_noinsert(self):
- data = self.macro_data
- nddata = data.view((float, 4))
- lagmat = sm.tsa.lagmat(nddata[:, 2], 3, trim='Both')
- results = np.column_stack((nddata[3:, np.array([0, 1, 3])], lagmat))
- lag_data = sm.tsa.add_lag(data, 'realgdp', 3, insert=False, drop=True)
- assert_equal(lag_data.view((float, len(lag_data.dtype.names))), results)
-
def test_dataframe_without_pandas(self):
data = self.macro_df
both = sm.tsa.lagmat(data, 3, trim='both', original='in')
expected['trend_squared'] = self.t ** 2
assert_frame_equal(expected, appended)
- def test_recarray(self):
- recarray = pd.DataFrame(self.arr_2d).to_records(index=False, convert_datetime64=False)
- appended = tools.add_trend(recarray)
- expected = pd.DataFrame(self.arr_2d)
- expected['const'] = self.c
- expected = expected.to_records(index=False, convert_datetime64=False)
- assert_equal(expected, appended)
-
- prepended = tools.add_trend(recarray, prepend=True)
- expected = pd.DataFrame(self.arr_2d)
- expected.insert(0, 'const', self.c)
- expected = expected.to_records(index=False, convert_datetime64=False)
- assert_equal(expected, prepended)
-
- appended = tools.add_trend(recarray, trend='ctt')
- expected = pd.DataFrame(self.arr_2d)
- expected['const'] = self.c
- expected['trend'] = self.t
- expected['trend_squared'] = self.t ** 2
- expected = expected.to_records(index=False, convert_datetime64=False)
- assert_equal(expected, appended)
-
def test_duplicate_const(self):
assert_raises(ValueError, tools.add_trend, x=self.c, trend='c', has_constant='raise')
assert_raises(ValueError, tools.add_trend, x=self.c, trend='ct', has_constant='raise')
expected = np.vstack((self.c, self.c, self.t)).T
assert_equal(added, expected)
- def test_mixed_recarray(self):
- dt = np.dtype([('c0', np.float64), ('c1', np.int8), ('c2', 'S4')])
- ra = np.array([(1.0, 1, 'aaaa'), (1.1, 2, 'bbbb')], dtype=dt).view(np.recarray)
- added = tools.add_trend(ra, trend='ct')
- dt = np.dtype([('c0', np.float64), ('c1', np.int8), ('c2', 'S4'), ('const', np.float64), ('trend', np.float64)])
- expected = np.array([(1.0, 1, 'aaaa', 1.0, 1.0), (1.1, 2, 'bbbb', 1.0, 2.0)], dtype=dt).view(np.recarray)
- assert_equal(added, expected)
-
def test_dataframe_duplicate(self):
df = pd.DataFrame(self.arr_2d, columns=['const', 'trend'])
tools.add_trend(df, trend='ct')